package edu.upc.galaxy.dao.impl;

import edu.upc.galaxy.dao.*;
import edu.upc.galaxy.entity.ServicioEntity;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.stereotype.Repository;

/**
 *
 * @author Alvaro
 */
@Repository
public class ServicioDaoImpl extends BaseDao {
    

    
    public Integer insertar(ServicioEntity Servicio) {
        String insert = "insert into Servicio(nombre,Descripcion) values (?,?)";
        List list = new ArrayList();
        list.add(Servicio.getNombre());
        list.add(Servicio.getDescripcion());
        return this.insert(insert, list);
    }
    
    public void actualizar(ServicioEntity Servicio) {
        String update = "update Servicio set nombre = ?, Descripcion = ? where id = ?";
        List list = new ArrayList();
        list.add(Servicio.getNombre());
        list.add(Servicio.getDescripcion());
        list.add(Servicio.getCodservicio());
        this.update(update, list);
    }
    
    public void eliminar(ServicioEntity Servicio) {
        String delete = "delete from Servicio where id = ?";
        this.delete(delete,Servicio.getCodservicio());
    }
    
    public List<ServicioEntity> buscar() {
        ResultSet rs = this.select("select * from Servicios");
        List<ServicioEntity> listado = new ArrayList<ServicioEntity>();
        try {
            while (rs.next()) {
                ServicioEntity Servicio = new ServicioEntity();
                Servicio.setCodservicio(rs.getInt(1));
                Servicio.setNombre(rs.getString(2));
                Servicio.setDescripcion(rs.getString(3));
                listado.add(Servicio);
            }
        } catch (SQLException ex) {
            Logger.getLogger(ServicioDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listado;
    }  
}
